const express = require("express");

const app = express();

app.get("/", (req, res) => {
    res.send("Hello, World!");
});

app.get("/article", (req, res) => {
    res.send("新闻页面");
});

app.get("/login", (req, res) => {
    res.send("登录页面");
});

// get 主要用于获取数据
app.get("/register", (req, res) => {
    res.send("注册页面");
});

// post 主要用于提交数据
app.post("doLogin", (req, res) => {
    // 这里可以处理登录逻辑
    // 比如验证用户名和密码等
    res.send("执行登录");
});

// put 主要用于修改数据
app.put("/editUser", (req, res) => {
    // 这里可以处理更新逻辑
    res.send("修改用户信息");
});

// delete 主要用于删除数据
app.delete("/deleteUser", (req, res) => {
    // 这里可以处理删除逻辑
    res.send("删除用户信息");
});

// +--------------------------------------------------------------------------
// | 路由里面配置多级目录 http://localhost:3000/admin/article
// +--------------------------------------------------------------------------
app.get("/admin/article", (req, res) => {
    res.send("后台管理文章页面");
});

app.get("/admin/user", (req, res) => {
    res.send("后台管理用户页面");
});

// +--------------------------------------------------------------------------
// | 动态路由 配置路由地时候注意路由顺序 http://localhost:3000/article/123
// +--------------------------------------------------------------------------
app.get("/article/add", (req, res) => {
    res.send("添加文章页面");
});

app.get("/article/:id", (req, res) => {
    const articleId = req.params.id;  // 获取动态路由参数
    // 例如: http://localhost:3000/article/123
    res.send(`文章ID: ${articleId}`);
});

// get传值
app.get("/product", (req, res) => {
    const query = req.query;  // 获取get请求的查询参数
    // 例如: http://localhost:3000/product?id=123&name=abc
    res.send(`get传值: ${JSON.stringify(query)}`);
});

app.listen(3000, () => {
    console.log("Server is running on http://localhost:3000");
});